/**
 * TODO
 */
package com.bci.pwtz.service;
import org.apache.ibatis.annotations.Param;

import com.bci.pwtz.common.util.PaginationList;
import com.bci.pwtz.exception.CanNotDeleteException;
import com.bci.pwtz.exception.PwtzDatabaseException;
import com.bci.pwtz.mysql.model.Dyxl;

import java.util.List;

/**
 * TODO
 * 
 * @author ICLNetwork Team
 * @version 3.0
 */
public interface DyxlService {
    /**
     * 新增Dypdx
     * TODO
     * @param dypdx
     * @return
     * @throws PwtzDatabaseException
     */
    Dyxl add(Dyxl dyxl) throws PwtzDatabaseException;
    /**
     * 删除（根据dyxlId删除）
     * TODO
     * @param dyxlId
     * @return
     * @throws PwtzDatabaseException
     */
     int delete(String dyxlId)throws PwtzDatabaseException , CanNotDeleteException;
    /**
     * 修改Dypdx
     * TODO
     * @param dypdx
     * @return
     * @throws PwtzDatabaseException
     */
     int update(Dyxl dyxl) throws PwtzDatabaseException;
    /**
     * 查找Dyxl对象（根据dyxlId查找）
     * TODO
     * @param dyxlId
     * @return
     * @throws PwtzDatabaseException
     */
     Dyxl load(String dyxlId) throws PwtzDatabaseException;
    /**
     * 根据时间查询Dyxl
     * TODO
     * @param date
     * @param pageSize
     * @param pageNo
     * @return
     * @throws PwtzDatabaseException
     */
     PaginationList<Dyxl> findDyxl(String companyname,Long companyid, int portalType,String[] medLineCodes,int deviceType,String transformerCode,String beginTime,String endTime,int pageSize, int pageNo)throws PwtzDatabaseException;
   
     PaginationList<Dyxl> selectDyxlByPdbyq(int deviceType,String transformerCode,String deviceName,Long companyId,int pageSize, int pageNo)throws PwtzDatabaseException;

     List<Dyxl> selectDyxlAllBypdbyq(int deviceType, String transformerCode, String deviceName, Long companyId)throws PwtzDatabaseException;
}
